1. Field of the Invention
The present invention relates generally to data processing systems and more particularly to data processing systems for communicating between a number of host computer systems and remote terminals. The present invention still more particularly is related to communications between a loosely coupled complex of host computers and remote terminal devices using the System Network Architecture (SNA) protocol.
2. Background and Related Art
Data processing systems are frequently employed within enterprises to maintain data needed in different locations throughout that enterprise. The data may be maintained in one or more host systems linked to terminals at remote sites by a communications network. Communications between a remote terminal and the central host systems operates according to a "protocol" or set of communication rules. The communications protocol typically exists as part of a teleprocessing architecture that defines the function and structure of data communications products.
One of the more popular teleprocessing architectures is the IBM System Network Architecture (SNA). SNA was first introduced in 1974 and has been enhanced several times since then. SNA is a top down structured design composed of layers (see e.g. SNA Technical Overview, IBM Order No. GC30-3073.).
A location in the SNA network that supports one or more ports for communication over the network is defined as a Network Addressable Unit (NAU). SNA defines three types of network addressable units: a System Services Control Point (SSCP) used for network management; a Physical Unit (PU) containing configuration related information for a particular node; and a Logical Unit (LU) that provides end user or application access to the SNA network. The present invention is concerned primarily with host applications (residing in either a PU5 or PU2.1 node) communicating with remote applications (in a PU5 or PU2.1 node) or remote terminals (in a PU2 or PU2.1 node) in the SNA network. Each physical unit is designated by numerical type in the SNA standard, thus PU5, PU2, and PU2.1 define different physical unit types.
SNA defines the architecture for teleprocessing and is embodied in networking software products such as the IBM Virtual Telecommunications Access Method (VTAM) product that operates on the IBM System/370 and System/390 hardware architectures (IBM, and System/370 and System/390 are trademarks of the IBM Corp.)
SNA is operable on multiple host networks as described in "SNA Multiple-System Networking", IBM Systems Journal, 18, 263-297 (1979). This article describes the process through which a terminal can access an application on one or more hosts and through which host inter-processor sessions can be established.
The multiple host design described in the above article comprises independent host computer systems. A different communication problem arises in loosely coupled processor complexes. Loosely coupled complexes consist of a number of processors that share data storage and communications networks but do not share main memory. Each processor in the complex can access all data on the shared databases and can run any application program stored in the data storage. This allows the presentation of a single image to the remote user and allows workload balancing by the processor complex. However, the systems cannot exchange information using shared memory techniques. The remote user does not care which of the coupled processors executes the application, allowing more effective workload balancing without operator or end user action.
An application running on a host system will be associated with a Logical Unit (LU) on that system. The remote user will establish an SNA session between the remote terminal Logical Unit (LU) and the host LU. A particular application will appear as the same LU in each host system in which it is running because it is started from the same data storage image and must respond to remote terminal requests that do not know of the separate processors. This creates problems, however, when an application in another processor of the complex desires to establish a communication session with the remote terminal. The problem is due to an SNA restriction that prohibits a remote user from being in session with the same Logical Unit (LU) in multiple processors in a complex. Any session requested by the remote terminal is automatically routed to the host processor with which a session already exists. However, when a different host processor attempts to establish a session with the remote terminal the session request will fail. Thus, under the current system, only one processor in a complex can be in conversation with a remote user.
The SNA restriction permitting only one host processor to be in communication with one remote terminal creates a problem for systems in which workload is balanced by having certain applications operate on less than all of the processors in a complex. This also creates a problem for applications that initiate communication from the host rather than relying on the remote terminal to establish the sessions.